Git takken uitchecken
Na het uitchecken uit de opgegeven tak, wordt je werkmap bijgewerkt en in overeenstemming gebracht de opgegeven branch"s commit. Bovendien wordt de HEAD bijgewerkt zodat die verwijst naar de nieuwe tak, en alle nieuwe commits worden opgeslagen op de nieuwe tak. Uitchecken is als het creëren van een nieuwe projectmap/ Het zal alleen gemakkelijker zijn of achteraf de wijzigingen ook in het oorspronkelijke project binnen te halen.
Met dit in het achterhoofd, is het meestal een goed idee om een 'schone' werkmap te hebben vooraleer uit een tak uit te checken. Een schone werkmap wil zeggen dat er geen uncomiited veranderingen meer in de werkmap staan. Als je dat niet doet bestaat de kans dat git checkout je wijzigingen overschrijft.
Net als bij het neerleggen (commit) van een "veilige" revisie, ben je vrij om te experimenteren op een nieuwe tak zonder vrees om bestaande functionaliteit vernietigen. Maar, je hebt nu een ook dedicated geschiedenis om mee te werken, zodat je de voortgang van een experiment kan vastleggen met behulp van de exact dezelfde git add en git commit commando's.
Deze functionaliteit zal nog uitgebreider worden zodra we leren hoe je uiteenlopende geschiedenissen terug in de "main" tak (bijvoorbeeld master) samenbrengt.
Vrijstaande HEAD (detached HEAD)
Git laat ook toe om git checkout te gebruiken met bladwijzers (tags) en commit id's. Maar als je dat doet kom je in een vrijstaande HEAD toestand (detached HEAD state) terecht. Dit betekent dat je niet meer op een tak bent maar dat je direct een commit aan het bekijken bent.
Je kan in de vrijstaande HEAD rondkijken en nieuwe commits zoals gebruikelijk neerleggen. Maar omdat er geen branch is die verwijst naar de toevoegingen, verlies je al je werk zodra je overschakelt een echte tak.
Gelukkig is het creëren van een nieuwe tak in een vrijstaande HEAD heel eenvoudig:
git checkout -b <nieuwe-branch-naam>
Dit is een shortcut voor git branch <nieuwe-branch-naam>
gevolgd door git checkout <nieuwe-branch-naam>
. Als je dit hebt uitgevoerd heb je een gloednieuwe tak verwijzing naar de eerder vrijstaande HEAD. Dit is een zeer handige procedure om experimenten af te splitsen van de oude revisies.